package com.hr.controller;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.hr.entity.R;
import com.hr.entity.Role;
import com.hr.entity.Users;
import com.hr.service.RoleService;
import org.springframework.beans.factory.annotation.Autowired;

import org.springframework.web.bind.annotation.*;

import java.util.List;

@RestController
@RequestMapping("/role")
public class RoleController {
    @Autowired
    private RoleService roleService;

    /**
     * 查询角色列表接口
     * @param page
     * @return
     */
    @GetMapping("/queryAll")
    public Page<Role> queryAll(Page<Role> page){
//        List<Role> roles = roleService.queryAll();
        page = roleService.queryAll(page);
        return page;
    }

    /**
     * 保存/修改 用户接口
     * @param role 如果前端传递了id，那么就是修改，否则就是添加
     * @return
     */
    @PostMapping("/save")
    public R save(
            //注意：axios post请求默认是json格式的数据
            // 需要 @RequestBody才能接收
            @RequestBody Role role){
        boolean b = roleService.save(role);
        return b ? R.ok("保存成功") : R.fail("保存失败");
    }

    /**
     * 删除接口
     * @param rid
     * @return
     */
    @GetMapping("/del")
    public R del(Integer rid){
        boolean b = roleService.del(rid);
        return b ? R.ok("删除成功") : R.fail("删除失败");
    }

    /**
     * 单值查询
     * @param rid
     * @return
     */
    @RequestMapping("/queryById")
    public Role queryById(Integer rid){
        Role role = roleService.queryById(rid);
        return role;
    }

}
